/**
 * Created by yangjiao on 2018/11/29.
 */
import store from '@/store/index.js'
import * as types from '@/store/mutation-types.js'
import {checkform} from '@/utils/validate'
// 提交音频，视频，PDf到vuex
export function commitPdfOrMediaOrText (data) {
  // flag判定类型
  let msg = {
    show: true,
    url: data.url,
    flag: data.flag
  }
  store.commit('SET_AUDIO_VUDIO', msg)
}
// 检查图片类型
export function checkImg (value) {
  if (checkform(value, 'Img')) {
    return false
  } else {
    return true
  }
}
// 提交查看图片的信息到vuex 涉及工单的
export function commitImg (item, obj) {
  // item是当前的点击的图片对象，obj是所有图片的集合
  let _list = [] // 存放当前步骤中所有的图片
  // 循环当前步骤的所有字段
  for (let i = 0; i < obj.length; i++) {
    // 如果该value不是字符串类型， 说明是附件， 将附件中所有的图片存放在_list中
    if (typeof obj[i].value === 'object') {
      let _array = obj[i].value
      for (let j = 0; j < _array.length; j++) {
        let _str = _array[j].name.replace(/\s/g, '')
        if (!checkform(_str, 'ImgNew')) {
          _list.push(_array[j])
        }
      }
    }
  }
  // 通过当前查看图片的id 获取到在数组中的下标
  let _index = 0
  for (let i = 0; i < _list.length; i++) {
    if (item.id && item.id === _list[i].id) {
      _index = i
      break
    }
  }
  let msg = {
    show: true,
    url: item.url2,
    index: _index, // 当前点击的图片的索引
    list: _list
  }
  store.commit(types.SET_BIGIMG, msg)
}

export function transUrl (url) {
  if (!url) {
    return url
  }
  const arr = url.split('https://')
  return arr.length > 2 ? `https://${arr[arr.length - 1]}` : url
}
// 提交查看图片的信息到vuex 涉及带有翻页,dom特别深的图片，通过获取dom取到所有的图片结果集
export function commitImgType2 (data, _array) {
  // 当前图片点击的URL，_array是所有查看的图片的集合
  // 图片的集合
  let _list = []
  // 当前点击的图片的下标
  let _index = 0
  const arr = [..._array].map(i => ({id: transUrl(i.id), name: i.name}))
  const url = transUrl(data)
  // 通过当前查看图片的id 获取到在数组中的下标
  for (let i = 0; i < arr.length; i++) {
    if (url === arr[i].id || url.split('?')[0] === arr[i].id || arr[i].id.startsWith(url)) {
      _index = i
    }
    let obj = {
      url: arr[i].id,
      id: arr[i].id,
      name: arr[i].name
    }
    _list.push(obj)
  }
  let msg = {
    show: true,
    url,
    index: _index,
    list: _list.map(i => ({...i, id: transUrl(i.id), url: transUrl(i.url)}))
  }
  store.commit(types.SET_BIGIMG, msg)
}
